//System
#include <cmath>
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>

using namespace std;

//HgeEngine
#include <hge.h>
#include <hgeSprite.h>
#include <hgeFont.h>
#include <hgeparticle.h>
#include <hgeRect.h>
#include <hgeanim.h>

HGE* hge = 0;
int Cur_Scene = 0;

//Scenes
bool Scene0FrameFunc(); bool Scene0RenderFunc(); //Loading Scene
bool Scene1FrameFunc(); bool Scene1RenderFunc(); //Main Menu Screen
bool Scene2FrameFunc(); bool Scene2RenderFunc(); //Play Environment

//Custom
#include "Hge_Init.h"          //Includes prototype frame and render functions
#include "System_Tools.h"
#include "Graphic_Tools.h"
#include "Buttons.h"
#include "World.h"
#include "Props.h"
#include "Ballistics.h"
#include "Buildings.h"
#include "Player.h"
#include "Critters.h"
#include "Weapons.h"
#include "Resources.h"
#include "Data.h"
#include "Camera.h"
#include "Sceneloader.h"
#include "Scene0.h" //Loading Screen
#include "Scene1.h" //Main Menu 
#include "Scene2.h" //Play Environment


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
  //Startup
  Load_HGEINI();
  Change_Scene(0);
  if(hge->System_Initiate())
   {
    //Load system resources
    hge->System_Start();
   }
  //Shutdown
  hge->System_Shutdown();
  hge->Release();
  return 0;
}
